Search results for "Code generation"

showing 10 items of 13 documents

Generating Executable Code from High-Level Social or Socio-Ecological Model Descriptions

2019

Agent-Based Modelling has been used for social simulation because of the several benefits it entails. Social models are often constructed by inter-disciplinary teams that include subject-matter experts with no programming skills. These experts are typically involved in the creation of the conceptual model, but not the verification or validation of the simulation model. The Overview, Design concepts, and Details (ODD) protocol has emerged as a way of presenting a model at a high level of abstraction and as an effort towards improving the reproducibility of Agent-Based Models (ABMs) but it is typically written after a model has been completed. This paper reverses the process and provides non-…

050101 languages & linguisticsComputer scienceNetLogobusiness.industryProcess (engineering)05 social sciencesConceptual model (computer science)02 engineering and technologycomputer.file_formatMetamodeling0202 electrical engineering electronic engineering information engineeringVDP::Samfunnsvitenskap: 200020201 artificial intelligence & image processing0501 psychology and cognitive sciencesCode generationExecutableSoftware engineeringbusinessVDP::Teknologi: 500::Informasjons- og kommunikasjonsteknologi: 550computerProtocol (object-oriented programming)computer.programming_languageSocial simulation
researchProduct

Towards a design process for modeling MAS organizations

2012

The design of MAS organizations is a complex activity where a proper methodological approach may offer a significant advantage in enabling the conception of the best solution. Moreover, the aid provided by a supporting tool significantly contributes to make the approach technically sound and it is a fundamental ingredient of a feasible strategy to the development of large MASs. In this paper, we introduce a portion of methodological approach devoted to design MAS organizations and a preliminary version of a specific case tool, named MoT (Moise+ Tool), for supporting activities from design production to automatic code generation. MoT provides four kinds of diagrams based on a definite graphi…

Computer sciencebusiness.industryProcess (engineering)NotationGraphical notationMethodological approachDevelopment (topology)Complex activityCode (cryptography)Design processProduction (economics)Code generationArtificial intelligenceAutomatically generatedDesign proceSoftware engineeringbusinessComputer-aided software engineeringSupporting toolAutomatic code generation
researchProduct

Towards a Reference Architecture for Model-Driven Business Apps

2016

Model-driven development techniques have been proposed for cross-platform app development. Typically, an individual domain-specific language (DSL) is used. The MD² framework consists of a DSL for business apps and generators, which transform a domain model to native platform code. Prior research on it focused on language and general generator design, this paper accentuates the code generation stage. A reference architecture for the generated apps is proposed to accelerate the development of new generators for which architectural decisions had been made on ad-hoc basis up to now. Moreover, generators are going to expose similar structures that facilitate maintenance. Our proposal takes MD²'s…

Flexibility (engineering)Enterprise architecture frameworkbusiness.industryComputer scienceMobile computing020207 software engineering02 engineering and technologySoftwareApplications architectureBusiness architecture0202 electrical engineering electronic engineering information engineering020201 artificial intelligence & image processingCode generationReference architectureSoftware engineeringbusiness2016 49th Hawaii International Conference on System Sciences (HICSS)
researchProduct

AnyDSL: a partial evaluation framework for programming high-performance libraries

2023

This paper advocates programming high-performance code using partial evaluation. We present a clean-slate programming system with a simple, annotation-based, online partial evaluator that operates on a CPS-style intermediate representation. Our system exposes code generation for accelerators (vectorization/parallelization for CPUs and GPUs) via compiler-known higher-order functions that can be subjected to partial evaluation. This way, generic implementations can be instantiated with target-specific code at compile time. In our experimental evaluation we present three extensive case studies from image processing, ray tracing, and genome sequence alignment. We demonstrate that using partial …

Intermediate languageComputer science020207 software engineeringImage processing02 engineering and technologyParallel computingPartial evaluation004020204 information systems0202 electrical engineering electronic engineering information engineeringCode generationRay tracing (graphics)General-purpose computing on graphics processing unitsSafety Risk Reliability and QualityImplementationSoftwareCompile time
researchProduct

Learning Pros and Cons of Model-Driven Development in a Practical Teaching Experience

2016

Current teaching guides on Software Engineering degree focus mainly on teaching programming languages from the first courses. Conceptual modeling is a topic that is only taught in last courses, like master courses. At that point, many students do not see the usefulness of conceptual modeling and most of them have difficulty to reach the level of abstraction needed to work with them. In order to make the learning of conceptual modeling more attractive, we have conducted an experience where students compare a traditional development versus a development using conceptual models through a Model-Driven Development (MDD) method. This way, students can check on their own pros and cons of working w…

Model driven developmentPoint (typography)Computer scienceLearnabilitymedia_common.quotation_subjectTeaching method020207 software engineering02 engineering and technologyPresentation020204 information systemsComputingMilieux_COMPUTERSANDEDUCATION0202 electrical engineering electronic engineering information engineeringMathematics educationCode generationProductivitymedia_commonAbstraction (linguistics)
researchProduct

PMG-Pro: A Model-Driven Development Method of Service-Based Applications

2011

Published version of a chapter published in the book: SDL 2011: Integrating System and Software Modeling. Also available from the publisher at: http://dx.doi.org/10.1007/978-3-642-25264-8_12 In the Internet of Things, billions of networked and software-driven devices will be connected to the Internet. They can communicate and cooperate with each other to form a composite system. In this paper, we propose PMG-pro (present, model, generate and provide), a language independent, bottom-up and model-driven method for the development of such composite system. We envision that all devices in the Internet of Things provide their functionalities as services. From a service description, a service pre…

Service (business)InternetSource codebusiness.industryComputer scienceService delivery frameworkService designmedia_common.quotation_subjectVDP::Technology: 500::Information and communication technology: 550Activity diagramWorld Wide WebCustomer Service AssuranceThe InternetCode generationbusinessSoftware engineeringmedia_common
researchProduct

Accelerating Clifford Algebra Operations using GPUs and an OpenCL Code Generator

2015

Clifford Algebra (CA) is a powerful mathematical language that allows for a simple and intuitive representation of geometric objects and their transformations. It has important applications in many research fields, such as computer graphics, robotics, and machine vision. Direct hardware support of Clifford data types and operators is needed to accelerate applications based on Clifford Algebra. This paper proposes a mixed software-hardware system that exploits the computational power of Graphics Processing Units (GPUs) to accelerate Clifford operations. A code generator, namely OpenCLifford, is presented that automatically generates Java and C libraries for the direct support of Clifford ele…

Settore ING-INF/05 - Sistemi Di Elaborazione Delle InformazioniSpeedupHardware-software co-designOpenCLComputer scienceClifford algebraGeometric AlgebraParallel computingData typeMetaprogrammingComputer graphicsClifford AlgebraGeometric algebraComputingMethodologies_SYMBOLICANDALGEBRAICMANIPULATIONCode generationCentral processing unitGraphicsGraphics Processing Unit
researchProduct

Separation of Concerns and Role Implementation in the PASSI Design Process

2007

The use of design patterns proved successful in lowering the development time and number of errors when producing software with the object-oriented paradigm. In previous works we engaged the production of a tool for the reuse of patterns for multi-agent systems. Now we are fronting a new problem: automatic code generation for agents, designed with a specific methodology, with the support of design patterns and using an aspect oriented approach. In this work we present our preliminary experiences in the identification, description, production and use of aspects for multi agent systems and a tool for code production.

Settore ING-INF/05 - Sistemi Di Elaborazione Delle Informazionibusiness.industryComputer scienceAspect-oriented programmingMulti-agent systemSeparation of concernsReuseSoftware agentSoftware design patternSystems engineeringDesign processCode generationSoftware engineeringbusinessComputer softwareMulti agent systemsObject oriented programmingProblem solving2007 5th IEEE International Conference on Industrial Informatics
researchProduct

A Rule-Based System for Hardware Configuration and Programming of IoT Devices

2019

Simplifying programming, deployment, and configuration of heterogeneous networked IoT devices requires networking, hardware, representation of knowledge and concepts, design and programming skills. In fact, IoT applications are mostly built by adopting different existing paradigms and technologies on a case-by-case basis. As a result, programming tools hinder adaptability and interoperability of applications with their rigidity. In this paper, we propose a rule-based system that configures and programs IoT devices automatically. The rule base holds formal specifications about hardware platforms, networking protocols, physical world concepts, and applications. Provided with a high-level appl…

Symbolic programmingFormal knowledge representationbusiness.industryComputer scienceSymbolic programmingmedia_common.quotation_subjectInteroperabilityRule-based systemAdaptabilitySoftware deploymentCode generationCode generationFORTHbusinessInternet of ThingsComputer hardwaremedia_common
researchProduct

Recursive modeling for completed code generation

2009

Model-Driven Development is promising to software development because it can reduce the complexity and cost of developing large software systems. The basic idea is the use of different kinds of models during the software development process, transformations between them, and automatic code generation at the end of the development. But unlike the structural parts, fully-automated code generation from the behavior parts is still hard, if it works at all, restricted to specific application areas using a domain specific language, DSL.This paper proposes an approach to model the behavior parts of a system and to embed them into the structural models. The underlying idea is recursive refinements …

Theoretical computer scienceSource codeCode reviewbusiness.industryComputer scienceProgramming languagemedia_common.quotation_subjectSoftware developmentStatic program analysiscomputer.software_genreLinear code sequence and jumpSoftware constructionKPI-driven code analysisCode generationbusinesscomputermedia_commonProceedings of the 1st Workshop on Behaviour Modelling in Model-Driven Architecture
researchProduct